# 使用 Python 3.9 官方镜像作为基础镜像
FROM python:3.9-slim

# 设置镜像作者
LABEL maintainer="heqiangchun0221@foxmail.com"

# 使用国内镜像源以提高安装速度
ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple/

# 工作目录设为 /app
WORKDIR /app

# 安装 Python 依赖
RUN pip install --no-cache-dir  \
    Flask  \
    opencv-python-headless \
    pyzbar  \
    requests  \
    opencv-contrib-python  \
    numpy  \
    redis  \
    python-dotenv \
    Pillow

# 安装系统依赖，包括 ZBar 和 OpenCV 所需的依赖
RUN apt-get update \
    && apt-get install -y --no-install-recommends libzbar0 libgl1-mesa-glx libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# 将当前目录下的所有文件复制到容器的 /app
COPY . /app

# 对外暴露端口 5000
EXPOSE 5000

# 设置 Flask 应用的环境变量
ENV FLASK_APP=app.py

# 运行 Flask 应用
CMD ["flask", "run", "--host=0.0.0.0", "--port=5000"]